iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
0

上次說到有時候我們會從觀察到的現象去猜導致這個現象的函數(原因)
我們首先會先從最簡單的函數開始
也就是多項式函數
但是為什麼我們一開始不會選擇太高次的多項式呢?


舉個例子,假設真實現象是由 所導致

# 假設目標函數
def target(x):
    return x**2+1

但是現實觀察中總會免不了有誤差
假設每次誤差都不超過真實值的 0.2

# 誤差的分配
mu, sigma = 0, 0.2

最後創造觀察集

import random
import numpy as np

# 產生樣本集
sample_x = np.arange(-5, 5, 0.5)
sample_y = [target(x) + np.random.normal(mu, sigma)*target(x) for x in sample_x]

畫出觀察集的樣子

import matplotlib.pyplot as plt
x_list = np.arange(-5, 5, 0.1)

# 畫出觀察集
fig = plt.figure(figsize = (6,6))
plt.plot(x_list, target(x_list), color = 'red', label = 'target')
plt.scatter(sample_x, sample_y, s = 50)
plt.legend()
plt.show()

https://ithelp.ithome.com.tw/upload/images/20200917/20130625yU7ncnk52w.png

如果我們不考慮誤差
直接使用靈活的高次多項式盡可能的穿過觀察點
(圖中為 Lagrange 插值多項式,理論上必能通過所有觀察點,但可能因精度影響無法呈現)
https://ithelp.ithome.com.tw/upload/images/20200917/201306256YxTqrjy7i.png

但是這種函數的行為就像是看著下一個目標前進
所以才能完美的通過所有觀察點
而我們想猜導致觀察現象的函數的主要目標是預測未來
對於還沒發生的未來,根本沒有下一個目標
所以高次多項式函數就不會是我們的首選


RN:多項式函數是一種最簡單的函數
  而且增加最高次項就可以使函數圖形變的更加靈活
  強迫它通過觀察點或從觀察點旁經過
  但是過度增加項數,會失去對預測未來的彈性
  這樣的舉例有比較清楚嗎(´ΘωΘ`)?

75:zzz...(¦3[▓▓]

RN:...算了,去吃牛肉麵好了...


上一篇
[Day 3]老師我學多項式函數做什麼(1)
下一篇
[Day 5]老師我學多項式函數做什麼(3)
系列文
老師我學這個做什麼:我在工作上看到的數學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言